package org.no_ip.martin_springwald.google.api.extension.docs;

import com.google.gwt.core.client.JavaScriptObject;

/**
 * DocumentsListRevisionEntry (DocsService)
 * 
 * @.dependencies gwt-gdata, GWT SDK 2.4
 */
public class DocumentsListRevisionEntry extends com.google.gwt.gdata.client.Entry<DocumentsListRevisionEntry> {

	// retrieve links and categories, extended from default functions
	/** getDocumentEntryLinks: <p>Retrieves all links contained in entry.</p> */
	public final native DocumentsListEntryLink[] getDocumentEntryLinks() /*-{ if (this.link) { return @com.google.gwt.gdata.client.impl.ArrayHelper::toArray(Lcom/google/gwt/core/client/JsArray;)(this.link); } else { return new Array(); } }-*/;
	/** getDocumentEntryCategories: <p>Retrieves all categories contained in entry.</p> */
	public final native DocumentsListEntryCategory[] getDocumentEntryCategories() /*-{ if (this.category) { return @com.google.gwt.gdata.client.impl.ArrayHelper::toArray(Lcom/google/gwt/core/client/JsArray;)(this.category); } else { return new Array(); } }-*/;

	// getters
	/** getContentType: <p>Retrieves the (mime) type of the content.</p> */
	public final native String getContentType() /*-{ if (this.content) { return this.content.type; } else { return ""; } }-*/;
	/** getContentSrc: <p>Retrieves the content (usually as link).</p> */
	public final native String getContentSrc() /*-{ if (this.content) { return this.content.src; } else { return ""; } }-*/;
	/** getPublish: <p>Retrieves 'publish' value.</p> */
	public final native String getPublish() /*-{ if (this.docs$publish) { return this.docs$publish.$t; } else { return ""; } }-*/;
	/** getPublishAuto: <p>Retrieves 'publishAuto' value.</p> */
	public final native String getPublishAuto() /*-{ if (this.docs$publishAuto) { return this.docs$publishAuto.$t; } else { return ""; } }-*/;
	/** getPublishOutsideDomain: <p>Retrieves 'publishOutsideDomain' value.</p> */
	public final native String getPublishOutsideDomain() /*-{ if (this.docs$publishOutsideDomain) { return this.docs$publishOutsideDomain.$t; } else { return ""; } }-*/;

	// constructors
	/**
	 * newInstance: <p>Creates new RevisionEntry instance.</p>
	 * @return DocumentsListRevisionEntry
	 */
	public static native DocumentsListRevisionEntry newInstance() /*-{ return new $wnd.google.gdata.Entry(); }-*/;
	protected DocumentsListRevisionEntry() { }
	public static final native JavaScriptObject getConstructor() /*-{ return $wnd.google.gdata.Entry; }-*/;

}